<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./styles/index.css">
</head>

<body>
    <!--
        Vue 生命周期 和 生命周期的四个阶段
        思考:什么时候可以发送初始化渲染请求? (越早越好)
            什么时候可以开始操作dom? (至少dom得渲染出来)
        Vue生命周期:
            一个Vue实例从 创建到销毁的整个过程生命周期四个阶段: 
              创建  响应式数据处理(可以发送初始化渲染) 执行一次
              挂载  渲染模板(可以操作dom)           执行一次
              更新  数据修改 更新视图               执行一次
              销毁  销毁实例                       执行多次 

        Vue 生命周期函数 (钩子函数)
            Vue生命周期过程中，会自动运行一些函数，被称为[生命周期钩子] 
            让开发者可以在[特定阶段] 运行自己的代码。
            --------------------------------------------------------------------------
            | beforeCrete                      | 创建 | created(可以发送初始化渲染请求)  |
            --------------------------------------------------------------------------    
            | befoureMound                     | 挂载 | mounted(可以操作dom)           |
            --------------------------------------------------------------------------    
            | beforeUpdate                     | 更新 | updated                       |
            ---------------------------------------------------------------------------    
            | beforeDestroy(可以清除定时器 延时器)| 销毁 | destroyed                     | 
            --------------------------------------------------------------------------    
    -->
    <div id="app">
        <ul>
            <li v-for="(item, index) in list" :key="item.id" class="news">
                <div class="left">
                    <div class="title">{{item.title}}</div>
                    <div class="info">
                        <span>{{item.source}}</span>
                        <span>{{item.time}}</span>
                    </div>
                </div>
                <div class="right">
                    <img :src="item.img" alt="">
                </div>
            </li>
        </ul>
    </div>

    <script src="../lib/vue.js"></script>
    <script src="../lib/axios.js"></script>

    <script>
        const app = new Vue({
            el: "#app",
            data() {
                return {
                    list: []
                }
            },
            watch: {
            },
            methods: {
            },
            computed: {
            },
            //1 创建阶段
            async created() {
                console.log('created, 响应式数据准备好之后')
                //此时可以 修改数据 (比如发送请求 获取数据后修改)
                // 接口地址：http://hmajax.itheima.net/api/news
                // 请求方式：get
                const res = await axios.get('http://hmajax.itheima.net/api/news')
                console.log(res)
                this.list = res.data.data
            },
        })
    </script>
</body>

</html>